package geekstudy.week1;

/**
 *
 * 66. 加一
 * https://leetcode-cn.com/problems/plus-one/submissions/
 *
 */
public class Week1PlusOne {

    public int[] plusOne(int[] digits) {

        // boolean carryBit = false;
        for(int reverseIndex = digits.length - 1; reverseIndex >= 0; reverseIndex --) {

            if(digits[reverseIndex] == 9) {
                // 如果末尾是9 则将末尾置为0 逐渐向前一位加1
                // carryBit = true;
                digits[reverseIndex] = 0;
            } else {
                // carryBit = false;
                // 如果末尾 不是9 则直接加1
                digits[reverseIndex] += 1;
                return digits;
            }

        }
        // 每一位都是9 扩展数据长度加一 将首位置为1
        int[] result = new int[digits.length + 1];
        result[0] = 1;
        return result;
        // return digits;
    }

}
